A distributed processing system has been used for connecting a plurality of communication nodes, such as computers, through a communication network or a client server system (hereinafter simply called a "communication network") to transfer data which is required for processing an application program among communication nodes.
An application program running at each of the communication nodes of such distributed processing system transfers data between itself and other communication nodes by using an interface called application programming interface(API). Included in such API are a connectionless API for transferring data between communication networks through a connectionless communication and a connection oriented API for transferring data through a connection oriented communication.
When the connection oriented API is used as such an API, one of two communication nodes communicating with each other requests the network to connect to the other of the communication nodes. The other communication node is able to transfer data after the communication network has established a communication link between the two communication nodes in response to the request. When the connection oriented API is used in the prior art, it had to be decided which of the two communication nodes transferring data is the primary node, which requests the communication network for the connection, and which is the secondary node, which waits for a connection request from the communication counterpart in order for an application program in a communication node to start the connection oriented API.
As such, when the connection oriented API was used in the prior art, the content of an application program had to be modified or the system had to be designed with a distinction between the primary and the secondary nodes in mind depending on whether the application program is operating in the primary node or the secondary node, so that the processing and configuration of the distributed processing system was accordingly restricted.
It is not required to distinguish the communication nodes between the primary and the secondary nodes in the manner as described in the above when the connectionless API is used. However, the connectionless API cannot always be executable in a communication node.
As an example, PUPA6-75885 discloses a communication scheme in a distributed processing system in which a disconnected communication link of a connection oriented communication is reconnected. As another example of a communication scheme in a distributed processing system, PUPA8-331267 discloses a communication scheme in a communication system using a connectionless or a connection oriented communication between a monitoring apparatus and a monitored apparatus. As a further example of a communication scheme in a distributed processing system, Japanese patent 2513933 discloses a communication scheme in a distributed processing system in which a transfer path is selected when a broadcast communication message is sent out by a connectionless communication.
However, none of the communication schemes disclosed in the above patent and patent applications resolve the problem of the requirement of deciding in advance which of the communication nodes is the primary and which is the secondary node when data is to be transferred among a plurality of communication nodes through a connection oriented communication.
In view of the problems of prior art as described in the above, it is an object of the invention to provide a data transfer system and method which enables a communication link to be established for data transfer among a plurality of communication nodes through a communication link established by a connection oriented communication without deciding in advance which of the plurality of communication nodes is the primary and the secondary node.
It is another object of this invention to provide a data transfer system and method which enables an application program to run in each communication node without deciding in advance which of the communication nodes is the primary or the secondary node, thereby improving the freedom of the content of the application program.
It is a further object of this invention to provide a data transfer system and method which allows a system to be designed without deciding in advance which of the communication nodes is the primary or the secondary node, thereby improving the flexibility in configuring a distributed processing system.